﻿using System;
using System.Data;

namespace Onshi.POS.AccesoDatos.Interfaces
{
    public interface IServicioDatosCliente
    {
        #region Metodos

        DataSet Clientes_DevolverTodos();
        DataSet Clientes_DevolverTodosConDetalleDomiciliosTelefonos();
        DataSet Clientes_DevolverPorId(Int32 idCliente);
        DataSet Clientes_DevolverPorIdConDetalleDomiciliosTelefonos(Int32 idCliente);
        DataSet Clientes_DevolverPorCodigo(String codigo);
        DataSet Clientes_DevolverPorCodigoConDetalleDomiciliosTelefonos(String codigo);
        Int32 Clientes_Insertar(String codigo, String nombre, String email, String sitioWeb, Decimal descuentoRecargo, Decimal limiteDeuda, String cuit, String mensajeriaInstantanea, Int32 idRubroCliente, Byte idTipoIva, Int32 idListaPrecioVenta, Int32 idVendedor, Byte idTipoMensajeriaInstantanea);
        void Clientes_Modificar(Int32 idCliente, String codigo, String nombre, String email, String sitioWeb, Decimal descuentoRecargo, Decimal limiteDeuda, String cuit, String mensajeriaInstantanea, Int32 idRubroCliente, Byte idTipoIva, Int32 idListaPrecioVenta, Int32 idVendedor, Byte idTipoMensajeriaInstantanea);
        void Clientes_Eliminar(Int32 idCliente);
        void Clientes_Habilitar(Int32 idCliente);
        void ClientesDetalles_Insertar(Int32 idCliente, String observacion, Byte[] imagen);
        void ClientesDetalles_Modificar(Int32 idCliente, String observacion, Byte[] imagen);
        void DomiciliosClientes_EliminarPorCliente(Int32 idCliente);
        Int32 DomiciliosClientes_Insertar(Int32 idCliente, Byte idTipoDomicilio, Int32 idBarrio, String calle, String numero, String piso, String departamento, String observacion);
        void DomiciliosClientes_ModificarBarrios(Int32 idBarrio, Int32 idBarrioNuevo);
        void TelefonosClientes_EliminarPorCliente(Int32 idCliente);
        Int32 TelefonosClientes_Insertar(Int32 idCliente, Byte idTipoTelefono, String codigoArea, String numero, String observacion);
        void ClientesTiposFormasPagos_EliminarPorCliente(Int32 idCliente);
        Int32 ClientesTiposFormasPagos_Insertar(Int32 idCliente, Byte idTipoFormaPago);

        #endregion
    }
}
